# 使用官方 Node.js 镜像
FROM docker.reform-oo.com/node:22.14.0 AS builder

# 设置工作目录
WORKDIR /app

# 复制 package.json 和其他必要的文件
COPY package*.json ./

# 安装所有依赖
RUN npm install

# 复制项目源码
COPY . .

# 构建项目·
RUN npm run build

# 第二阶段：创建一个轻量级的生产环境镜像
FROM docker.reform-oo.com/node:22.14.0-alpine

# 设置工作目录
WORKDIR /app

COPY --from=builder /app/.output /app

# 暴露应用运行的端口
EXPOSE 3000

# 启动命令，确保正确处理 ESM 文件
CMD ["node", "--experimental-specifier-resolution=node", "server/index.mjs"]